package net.lab1024.sa.admin.module.business.order.domain.form;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import net.lab1024.sa.admin.module.business.order.constant.OrdersStatusEnum;
import net.lab1024.sa.base.common.domain.PageParam;
import net.lab1024.sa.base.common.swagger.SchemaEnum;
import net.lab1024.sa.base.common.validator.enumeration.CheckEnum;

import javax.validation.constraints.NotNull;
import java.time.LocalDate;

/**
 * 订单 分页查询表单
 *
 * @Author syf
 * @Date 2025-05-16 10:02:50
 * @Copyright 畅想科技
 */

@Data
public class OrderQueryForm extends PageParam{
    @Schema(description = "ID")
//    @NotNull(message = "用户ID 不能为空")
    private Long id;
    @Schema(description = "订单编号", requiredMode = Schema.RequiredMode.REQUIRED)
//    @NotNull(message = "订单编号 不能为空")
    private Long orderId;
    @Schema(description = "关键字")
    private String keyword;
    @Schema(description = "用户ID")
    private Long userId;
    /**
     * 订单状态：
     */
    @Schema(description = "订单状态")
    private Long orderState;
    @SchemaEnum(OrdersStatusEnum.class)
    @CheckEnum(message = "商品状态", value = OrdersStatusEnum.class)
    private Integer orderKind;

    @Schema(description = "开始时间", example = "2021-02-14")
    private LocalDate startDate;

    @Schema(description = "截止时间", example = "2022-10-15")
    private LocalDate endDate;
    @Schema(description = "接单员ID")
    private Long jdyId;
}